// #include <stdio.h>
// int main()
// {
    // #define size 6
    // int a[size];
    // for(int i = 0;i <= size;i++)
    // {
    //     scanf("%d",&a[i]);
    //     printf("a[%d]=%d\n",i,a[i]);
    // }
    


    
    // #define N 50
    // int a[N];
    // for(int i = 0; i < N; i++)
    // {
    //     scanf("%d,",&a[i]);
    //     printf("a[%d] = %d\n",i,a[i]);
    // }
    // for(int i=0; i < N; i++)
    // {
    //     if(a[i] >= a[i+1])
    //     {
    //         printf("该数组不是严格递增的\n");
    //         return 0;
    //     }
    //     printf("该数组是严格递增的\n");

    // }






    //找数组中最大值和最小值和元素和
    // #define N 5
    // int a[N];

    // for(int i = 0; i < N; i++)
    // {
    //     scanf("%d,",&a[i]);
    //     printf("a[%d] = %d\n",i,a[i]);
    // }
    // int min_N = a[0];
    // int max_N = a[0];
    // int sum = 0;

    // for(int i = 0; i < N; i++)
    // {
    //     if(a[i] > max_N)
    //     {
    //         max_N = a[i];
    //     }
    //     if(a[i] < min_N)
    //     {
    //         min_N = a[i];
    //     }
    //     sum = sum + a[i];
    // }

    // printf("该数组的最大值为：%d\n",max_N);
    // printf("该数组的最小值为：%d\n",min_N);
    // printf("该数组的元素和为：%d\n",sum);



    //冒泡排序
    // #define i 5
    // int a[i]; //整型数组a中有i个元素
    // int temp, n, m; //temp中间变量，用来保存交换的数据
    // printf("请输入%d个元素\n", i);
    // for(n=0; n<i; n++)
    // {
    //     scanf("%d", &a[n]);
    // }

    // //重复多次冒泡过程
    // for(m=0; m<i-1; m++)
    // {
    //     //遍历整个数组，随着m的变化而变化
    //     //每冒泡一次，一次冒泡过程中的比较，也就少一次
    //     for(n=0; n<i-1-m; n++) //遍历比较数组中的每个元素
    //     {
    //         if(a[n] > a[n+1]) //两两比较，找较大的
    //         {
    //                         //如果前一个大于后一个，交换两者位置
    //                         //a[n] <==> a[n+1]
    //             temp = a[n];
    //             a[n] = a[n+1];
    //             a[n+1] = temp;
    //         }
    //     }
    // }
    // //所以，经过上述的循环过后，整个数组a 就按照从小到大的顺序（升序）进行排列
    // for(n=0; n<i; n++) //遍历比较数组中的每个元素
    // {
    //     printf("a[%d] = %d\n", n, a[n]);
    // }



    //选择排序
    // #define i 5
    // int a[i]; 
    // int n,j,temp;
    // int max_index = 0;
    // printf("请输入%d个元素\n", i);
    // for(n=0; n<i; n++)
    // {
    //     scanf("%d", &a[n]);
    // }
    // int max = a[0];
    // for(j=0;j<i-1;j++)
    // {
    //     max = a[0];
    //     max_index = 0;
    //     for(n=0;n<i-j;n++)
    //     {
    //         if(a[n]>max)
    //         {
    //             max = a[n];
    //             max_index = n;
    //         }
    //     }
    //     temp = a[i-1-j];
    //     a[i-1-j] = a[max_index];
    //     a[max_index] = temp;
    // }
    // for(n=0; n<i; n++) //遍历比较数组中的每个元素
    // {
    //     printf("a[%d] = %d\n", n, a[n]);
    // }
       



    //挑选数组中第二大的数
    // #define n 5
    // int a[n];
    // int i;
    // printf("请输入%d个元素\n", n);
    // for(i=0; i<n-1; i++)
    // {
    //     scanf("%d", &a[i]);
    // }
    // int max = a[0];
    // int sec = a[0];
    // int j = 0;
    // for(i=0; i<n; i++)
    // {
    //     if(a[i] > max)
    //     {
    //         j = i;
    //     }
    // }
    // for(i=0; i<n-1; i++)
    // {
    //     if(i == j)
    //     {
    //         i++;
    //     }
    //     if(a[i] > sec)
    //     {
    //         sec =a[i];
    //     }
    // }
    // printf("改组数组的第二大元素%d\n",sec);




    //求斐波那契数列的前20项之和
    // int a=1,b=1;
    // int i;
    // int sum = a + b;
    // int next; 
    // for(i=3;i<=20;i++)
    // {
    //     next = a + b;
    //     sum = sum +next;
    //     a = b;
    //     b = next;
    // }
    // printf("斐波那契数列的前20项之和为%d\n",sum);

    
    //求斐波那契数列的前20项之和
    // #define n 20
    // int main()
    // {
    //     int a[n] = {1,1};
    //     int i,j,sum=0;
    //     for(i=2;i<=n-1;i++)
    //     {
    //         a[i] = a[i-1] +a[i-2];
    //         sum = sum +a[i];
    //     }
    //     printf("斐波那契数列的前20项之和为%d\n",sum);
// }

// 
// }

        





#include <stdio.h>
#define n 5

int main()
{
    int a[n];			    //整型数组a中有i个元素
	int  max,i, j,sec;		//temp中间变量，用来保存交换的数据

    printf("请输入%d个元素\n", n);
    for(i=0; i<n; i++)
    {
        scanf("%d", &a[i]);
    }
    max = a[0];
    sec = 0;
    j = 0;
    for(i=0;i<n;i++)
    {
        if(a[i]>max)
        {
            max = a[i];   //max要赋值更新
            j = i;
        }
    }
    for(i=0;i<n-1;i++)
    {
        if(i == j)
        {
            i++;
        }
        else if(a[i]>sec)
        {
            sec = a[i];
           
        }
    }
    printf("第二大的数= %d\n", sec);
}